package com.letu.core.plumelog;

import com.letu.core.context.ContextUtil;
import com.letu.core.context.StaticContextUtil;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * className：BaseLogMessage
 * description：
 * time：2020-05-11.15:28
 *
 * @author Tank
 * @version 1.0.0
 */
@Data
public class BaseLogMessage implements Serializable {
    /**
     * 应用运行所属IP地址
     */
    @ApiModelProperty(value = "应用运行所属IP地址")
    private String serverName;

    /**
     * 记录服务IP地址
     */
    @ApiModelProperty(value = "记录服务IP地址")
    private String serverIp = StaticContextUtil.getIpAddr();
    /**
     * 追踪码
     */
    @ApiModelProperty(value = "追踪码")
    private String traceId = ContextUtil.getTrace();

    /**
     * 应用名
     */
    @ApiModelProperty(value = "应用名")
    private String appName;

    /**
     * 方法名
     */
    @ApiModelProperty(value = "方法名")
    private String method;

    /**
     * 方法行数
     */
    @ApiModelProperty(value = "方法行数")
    private int line;

    /**
     * 端口
     */
    @ApiModelProperty(value = "端口")
    private int post;


    /**
     * 应用环境
     */
    @ApiModelProperty(value = "应用环境")
    private String env;

    /**
     * 操作人id
     */
    @ApiModelProperty(value = "操作人id")
    private Long userId = ContextUtil.getUserId();

    /**
     * 操作人名称
     */
    @ApiModelProperty(value = "操作人名称")
    private String userName = ContextUtil.getName();

    @ApiModelProperty(value = "header参数")
    private String headParam;
}
